from pipecat.pipeline.pipeline import Pipeline
from pipecat.pipeline.runner import PipelineRunner
from pipecat.pipeline.task import PipelineTask
from pipecat.services.deepgram import DeepgramSTTService
from pipecat.services.cartesia import CartesiaTTSService
from superdialog import DialogMachine, Flow
from superdialog.adapters.pipecat import make_processor
async def main():
dialog_machine = DialogMachine(
flow=Flow.load("kyc.json"),
llm="anthropic/claude-haiku-4-5",
)
pipeline = Pipeline([
DeepgramSTTService(api_key="..."), # STT
make_processor(dialog_machine), # SuperDialog as the LLM
CartesiaTTSService(api_key="..."), # TTS
])
runner = PipelineRunner()
task = PipelineTask(pipeline)
await runner.run(task)